home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Trial / Webroot Internet Security Essentials / WebrootSecurityTrialSetup_EN.exe / {tmp} / SpySweeperQuickStart.chm / scripts / popup.js < prev    next >
Text File  |  2008-11-13  |  9KB  |  287 lines

  1. // Copyright (c) 2002-2005 Quadralay Corporation.  All rights reserved.
  2. //
  3.  
  4. function  HTMLHelpPopup_Object(ParamThisPopupRef,
  5.                                ParamWindowRef,
  6.                                ParamNotifyClickedFunction,
  7.                                ParamDivID,
  8.                                ParamTextID,
  9.                                ParamTimeout,
  10.                                ParamOffsetX,
  11.                                ParamOffsetY,
  12.                                ParamWidth)
  13. {
  14.   this.mThisPopupRef = ParamThisPopupRef;
  15.   this.mWindowRef    = ParamWindowRef;
  16.   this.mDivID        = ParamDivID;
  17.   this.mTextID       = ParamTextID;
  18.   this.mTimeout      = (ParamTimeout > 0) ? ParamTimeout : 0;
  19.   this.mOffsetX      = ParamOffsetX;
  20.   this.mOffsetY      = ParamOffsetY;
  21.   this.mWidth        = ParamWidth;
  22.  
  23.  
  24.   // Updated when popup triggered
  25.   //
  26.   this.mbVisible     = false;
  27.   this.mPositionX    = 0;
  28.   this.mPositionY    = 0;
  29.   this.mText         = "";
  30.   this.mSetTimeoutID = null;
  31.  
  32.   this.fNotifyClicked = ParamNotifyClickedFunction;
  33.   this.fFormat        = HTMLHelpPopup_Format;
  34.   this.fDivTagText    = HTMLHelpPopup_DivTagText;
  35.   this.fShow          = HTMLHelpPopup_Show;
  36.   this.fPositionPopup = HTMLHelpPopup_PositionPopup;
  37.   this.fPopup         = HTMLHelpPopup_Popup;
  38.   this.fHide          = HTMLHelpPopup_Hide;
  39.  
  40.   // Preload graphics
  41.   //
  42.   HTMLHelpPopupUtility_PreloadImages();
  43. }
  44.  
  45. function  HTMLHelpPopupUtility_PreloadImages()
  46. {
  47.   var  VarImage;
  48.  
  49.  
  50.   VarImage = new Image();
  51.   VarImage.src = "images/spc1w2h.gif";
  52.   VarImage.src = "images/spc2w1h.gif";
  53.   VarImage.src = "images/spc1w7h.gif";
  54.   VarImage.src = "images/spc5w1h.gif";
  55. }
  56.  
  57. function  HTMLHelpPopup_Format(ParamWidth,
  58.                                ParamTextID,
  59.                                ParamText)
  60. {
  61.   var  VarHTML = "";
  62.   var  BackgroundColor = "#FFFFCC";
  63.   var  BorderColor     = "#999999";
  64.   var  ReqSpacer1w2h   = "<img src=\"images/spc1w2h.gif\" width=\"1\" height=\"2\">";
  65.   var  ReqSpacer2w1h   = "<img src=\"images/spc2w1h.gif\" width=\"2\" height=\"1\">";
  66.  
  67.  
  68.   VarHTML += "<table width=\"4\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"" + BackgroundColor + "\">";
  69.   VarHTML += " <tr>";
  70.   VarHTML += "  <td height=\"2\" colspan=\"3\" bgcolor=\"" + BorderColor + "\">" + ReqSpacer1w2h + "</td>";
  71.   VarHTML += " </tr>";
  72.  
  73.   VarHTML += " <tr>";
  74.   VarHTML += "  <td bgcolor=\"" + BorderColor + "\">" + ReqSpacer2w1h + "</td>";
  75.   VarHTML += "  <td width=\"100%\" id=\"" + ParamTextID + "\">" + ParamText + "</td>";
  76.   VarHTML += "  <td bgcolor=\"" + BorderColor + "\">" + ReqSpacer2w1h + "</td>";
  77.   VarHTML += " </tr>";
  78.  
  79.   VarHTML += " <tr>";
  80.   VarHTML += "  <td height=\"2\" colspan=\"3\" bgcolor=\"" + BorderColor + "\">" + ReqSpacer1w2h + "</td>";
  81.   VarHTML += " </tr>";
  82.   VarHTML += "</table>";
  83.  
  84.   return VarHTML;
  85. }
  86.  
  87. function  HTMLHelpPopup_DivTagText()
  88. {
  89.   var  VarDivTagText = "";
  90.  
  91.  
  92.   // Emit DIV tag
  93.   //
  94.   VarDivTagText += "<div id=\"" + this.mDivID + "\" style=\"position: absolute ; z-index: 1 ; visibility: hidden ; display: none ; top: 0px ; left: 0px\" onClick=\"javascript:" + this.mThisPopupRef + ".fNotifyClicked();\">\n";
  95.   VarDivTagText += this.fFormat(this.mWidth, this.mTextID, "Popup");
  96.   VarDivTagText += "</div>\n";
  97.  
  98.   return VarDivTagText;
  99. }
  100.  
  101. function  HTMLHelpPopup_Show(ParamText,
  102.                              ParamEvent)
  103. {
  104.   var  VarDocument = eval(this.mWindowRef + ".document");
  105.  
  106.  
  107.   // Reset the timeout operation to display the popup
  108.   //
  109.   if (this.mSetTimeoutID != null)
  110.   {
  111.     clearTimeout(this.mSetTimeoutID);
  112.  
  113.     this.mSetTimeoutID = null;
  114.   }
  115.  
  116.   // Check to see if there is anything to display
  117.   //
  118.   if ((ParamText != null) &&
  119.       (ParamEvent != null))
  120.   {
  121.     if ((typeof(VarDocument.documentElement) != "undefined") &&
  122.         (typeof(VarDocument.documentElement.clientWidth) != "undefined") &&
  123.         (typeof(VarDocument.documentElement.clientHeight) != "undefined") &&
  124.         ((VarDocument.documentElement.scrollLeft != 0) ||
  125.          (VarDocument.documentElement.scrollTop != 0)))
  126.     {
  127.       this.mPositionX = VarDocument.documentElement.scrollLeft + ParamEvent.x;
  128.       this.mPositionY = VarDocument.documentElement.scrollTop  + ParamEvent.y;
  129.     }
  130.     else
  131.     {
  132.       this.mPositionX = VarDocument.body.scrollLeft + ParamEvent.x;
  133.       this.mPositionY = VarDocument.body.scrollTop  + ParamEvent.y;
  134.     }
  135.  
  136.     this.mText = ParamText;
  137.  
  138.     this.mSetTimeoutID = setTimeout(this.mThisPopupRef + ".fPopup()", this.mTimeout);
  139.   }
  140. }
  141.  
  142. function  HTMLHelpPopup_PositionPopup()
  143. {
  144.   var  VarDocument = eval(this.mWindowRef + ".document");
  145.   var  NewPositionX;
  146.   var  NewPositionY;
  147.   var  VisibleOffsetX;
  148.   var  VisibleOffsetY;
  149.   var  PopupWidth;
  150.   var  PopupHeight;
  151.  
  152.  
  153.   // Calculate new position for popup
  154.   //
  155.   NewPositionX = this.mPositionX + this.mOffsetX;
  156.   NewPositionY = this.mPositionY + this.mOffsetY;
  157.  
  158.   // Attempt to determine DIV tag dimensions
  159.   //
  160.   PopupWidth = this.mWidth;
  161.   if (VarDocument.all[this.mDivID].offsetWidth > PopupWidth)
  162.   {
  163.     PopupWidth = VarDocument.all[this.mDivID].offsetWidth;
  164.   }
  165.   PopupHeight = 60;  // Guess a value
  166.   if (VarDocument.all[this.mDivID].offsetHeight > PopupHeight)
  167.   {
  168.     PopupHeight = VarDocument.all[this.mDivID].offsetHeight;
  169.   }
  170.  
  171.   // Calculate maximum values for X and Y such that the
  172.   // popup will remain visible
  173.   //
  174.   if ((typeof(VarDocument.documentElement) != "undefined") &&
  175.       (typeof(VarDocument.documentElement.clientWidth) != "undefined") &&
  176.       (typeof(VarDocument.documentElement.clientHeight) != "undefined") &&
  177.       ((VarDocument.documentElement.clientWidth != 0) ||
  178.        (VarDocument.documentElement.clientHeight != 0)))
  179.   {
  180.     VisibleOffsetX = VarDocument.documentElement.clientWidth  - this.mOffsetX - PopupWidth;
  181.     VisibleOffsetY = VarDocument.documentElement.clientHeight - this.mOffsetY - PopupHeight;
  182.   }
  183.   else
  184.   {
  185.     VisibleOffsetX = VarDocument.body.clientWidth  - this.mOffsetX - PopupWidth;
  186.     VisibleOffsetY = VarDocument.body.clientHeight - this.mOffsetY - PopupHeight;
  187.   }
  188.   if (VisibleOffsetX < 0)
  189.   {
  190.     VisibleOffsetX = 0;
  191.   }
  192.   if (VisibleOffsetY < 0)
  193.   {
  194.     VisibleOffsetY = 0;
  195.   }
  196.  
  197.   // Confirm popup will be visible and adjust if necessary
  198.   //
  199.   if ((typeof(VarDocument.documentElement) != "undefined") &&
  200.       (typeof(VarDocument.documentElement.clientWidth) != "undefined") &&
  201.       (typeof(VarDocument.documentElement.clientHeight) != "undefined") &&
  202.       ((VarDocument.documentElement.scrollLeft != 0) ||
  203.        (VarDocument.documentElement.scrollTop != 0)))
  204.   {
  205.     if (NewPositionX > (VarDocument.documentElement.scrollLeft + VisibleOffsetX))
  206.     {
  207.       NewPositionX = VarDocument.documentElement.scrollLeft + VisibleOffsetX;
  208.     }
  209.     if (NewPositionY > (VarDocument.documentElement.scrollTop + VisibleOffsetY))
  210.     {
  211.       NewPositionY = VarDocument.documentElement.scrollTop + VisibleOffsetY;
  212.     }
  213.   }
  214.   else
  215.   {
  216.     if (NewPositionX > (VarDocument.body.scrollLeft + VisibleOffsetX))
  217.     {
  218.       NewPositionX = VarDocument.body.scrollLeft + VisibleOffsetX;
  219.     }
  220.     if (NewPositionY > (VarDocument.body.scrollTop + VisibleOffsetY))
  221.     {
  222.       NewPositionY = VarDocument.body.scrollTop + VisibleOffsetY;
  223.     }
  224.   }
  225.  
  226.   // Set popup position
  227.   //
  228.   VarDocument.all[this.mDivID].style.pixelLeft = NewPositionX;
  229.   VarDocument.all[this.mDivID].style.pixelTop  = NewPositionY;
  230. }
  231.  
  232. function  HTMLHelpPopup_Popup()
  233. {
  234.   var  VarDocument = eval(this.mWindowRef + ".document");
  235.  
  236.  
  237.   if (this.mSetTimeoutID != null)
  238.   {
  239.     // Set popup contents
  240.     //
  241.     VarDocument.all[this.mTextID].innerHTML = this.mText;
  242.  
  243.     // Position the popup
  244.     //
  245.     VarDocument.all[this.mDivID].style.display = "block";
  246.     this.fPositionPopup();
  247.  
  248.     // Show the popup
  249.     //
  250.     VarDocument.all[this.mDivID].style.visibility = "visible";
  251.     this.mbVisible = true;
  252.   }
  253.  
  254.   // Clear the setTimeout ID tracking field
  255.   // to indicate that we're done.
  256.   //
  257.   this.mSetTimeoutID = null;
  258. }
  259.  
  260. function  HTMLHelpPopup_Hide()
  261. {
  262.   var  VarDocument;
  263.  
  264.  
  265.   // Cancel the setTimeout value that would have
  266.   // displayed the popup
  267.   //
  268.   if (this.mSetTimeoutID != null)
  269.   {
  270.     clearTimeout(this.mSetTimeoutID);
  271.  
  272.     this.mSetTimeoutID = null;
  273.   }
  274.  
  275.   // Shutdown the popup
  276.   //
  277.   if (this.mbVisible == true)
  278.   {
  279.     VarDocument = eval(this.mWindowRef + ".document");
  280.  
  281.     VarDocument.all[this.mDivID].style.visibility = "hidden";
  282.     VarDocument.all[this.mDivID].style.display    = "none";
  283.   }
  284.  
  285.   this.mbVisible = false;
  286. }
  287.